// 1.安装jwt（jsonwebtoken）

// 2.使用jwt中的两个方法(en(),de())来加密和解密token

const jwt = require("jsonwebtoken");
const secret = "apache"; // 创建密钥

Token = {
  // 加密Token
  en(str) {
    // 定义一个变量接收加密后的内容，第一个参数为：要加密的内容，第二个参数为：密钥（解密密钥要与之相同）
    let tokenKey = jwt.sign(str, secret);
    return tokenKey;
  },

  // 解密Token
  de(token) {
    //   成功则try，失败则catch
    try {
      //定义一个变量接收解密后的内容，第一个参数为：要解密的内容，第二个参数为：密钥（与之前加密密钥相同）
      let tokenKey = jwt.verify(token, secret);
      return {
        status: "success",
        tokenKey,
      };
    } catch {
      return {
        status: "failure",
      };
    }
  },
};

module.exports = Token;
